<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
	<title>闭包</title>
</head>
<body>
<ui>
	<li>a</li>
	<li>b</li>
	<li>c</li>
	<li>d</li>
	<li>e</li>
	<li>f</li>
</ui>
</body>
<script>
// <!--	if 判断能不能写函数问题-->
// if判断里面可以写函数
	if(true){
		let func = function () {
			console.log(12);
		};
		func()
	}
// let fun;
	if(false){
		fun = () =>{
			console.log(123);
		}
	}
	var fun;
console.log(a);
console.log(fun);
</script>
<script>
	var liArr = document.getElementsByTagName('li');
	// console.time('1')
	// for(var i = 0; i < liArr.length ; i++){
	// 	liArr[i].onclick = function () {
	// 		indexOf_fun(this)
	// 	}
	// }
	// function indexOf_fun(li) {
	// 	var index = null;
	// 	for(var i = 0; i < liArr.length; i++){
	// 		if(liArr[i] === li){
	// 			index = i;
	// 			i = liArr.length + 100;
	// 		}
	// 	}
	// 	console.log(index);
	// }
	// console.timeEnd('1')

	// console.time('2')
	// for(var i = 0; i < liArr.length ; i++){
	// 	(function (a) {
	// 		liArr[a].onclick = function () {
	// 			console.log(a);
	// 		}
	// 	})(i)
	// }
	// console.timeEnd('2')
</script>
<script type="text/javascript">
	// function test1(argument) {
	// 	var arr = [];
	// 	for(var i = 0; i < 10; i++){
	// 		arr[i] = function(){
	// 			console.log(i)
	// 		}
	// 	}
	// 	return arr;
	// }
	// var arr2 = test1();
	// for(var a = 0; a<10;a++){
	// 	arr2[a]();
	// }
	//
	//  test2 = () =>{
	// 	let arr = [];
	// 	for(let i = 0;i<10;i++){
	// 		arr[i] = ()=>{console.log(i)}
	// 	}
	// 	return arr;
	// }
	// let arr3 = test2();
	// for(let k = 0;k<10;k++){
	// 	arr3[k]();
	// }



	// console.time('test4')
	// function test4() {
	// 	var arr = [];
	// 	for(var i = 0; i<10; i++){
	// 		arr[i] = (function (a) {
	// 			return (function () {
	// 				console.log(a);
	// 			})
	// 		})(i)
	// 	}
	// 	return arr
	// }
	// var arr = test4();
	// for(var i = 0; i< 10; i++){
	// 	arr[i]()
	// }
	// console.timeEnd('test4')


	// console.time('test5')
	// function test5() {
	// 	var arr = [];
	// 	for(var i = 0; i < 10; i++){
	// 		(function (a) {
	// 			arr[a] = function () {
	// 				console.log(a);
	// 			}
	// 		})(i)
	// 	}
	// 	return arr;
	// }
	//
	// var arr5 = test5();
	// for(var i = 0; i< 10; i++){
	// 	arr5[i]()
	// }
	// console.timeEnd('test5')
	//
	// console.time('test6')
	// function test6() {
	// 	var arr = [];
	// 	for(var i = 0; i < 10; i++){
	// 		arr[i] = function () {
	// 			return function () {
	// 				console.log(i);
	// 			}
	// 		}
	// 	}
	// 	return arr
	// }
	// var arr6 = test6();
	// for(var i = 0; i< 10; i++){
	// 	arr6[i]()()
	// }
	// console.timeEnd('test6')


	//
	// let test3 = () =>{
	// 	let obj = {
	// 		a:1,
	// 		b:2,
	// 		c:3,
	// 		d:4
	// 	};
	// 	return obj;
	// };
	// let t3 = test3();
	// console.log(t3,'test3');
	// console.log(t3.a);
</script>
<script>
	/*
//  <!--	只有表达式才能被执行-->
	-function test1() {
		console.log('this is function test1')
	}();

	console.log(!function () {
		return false
	}());
	*/

</script>


</html>
